/**
 * ZeusGIS 应用配置管理
 * 统一管理应用的各种配置信息
 */

/**
 * 应用基础配置
 */
const APP_CONFIG = {
    name: 'ZeusGIS',
    version: '2.0.0',
    description: '专业的GIS工具合集',
    author: 'ZeusGIS Team'
};

/**
 * 地图平台配置
 * 包含各个地图服务商的API配置信息
 */
const MAP_PLATFORMS = {
    amap: {
        name: '高德地图',
        baseUrl: 'https://restapi.amap.com/v3/geocode/geo',
        defaultKey: '62ce26652cf472468c38a10ff74d63c3',
        timeout: 10000,
        rateLimit: 100, // 请求间隔(毫秒)
        coordinateSystem: 'GCJ02'
    },
    tencent: {
        name: '腾讯位置服务',
        baseUrl: 'https://apis.map.qq.com/ws/geocoder/v1/',
        defaultKey: 'SXFBZ-GYWKJ-QEJFR-D3QQJ-6NWV5-LDFSN',
        timeout: 10000,
        rateLimit: 100,
        coordinateSystem: 'GCJ02'
    },
    tianditu: {
        name: '天地图',
        baseUrl: 'http://api.tianditu.gov.cn/geocoder',
        defaultKey: '89f04c94b06f1783e5094c63a2fa02dc',
        timeout: 10000,
        rateLimit: 200,
        coordinateSystem: 'WGS84'
    }
};

/**
 * UI配置
 */
const UI_CONFIG = {
    sidebar: {
        width: 280,
        collapsible: true
    },
    theme: {
        primary: '#3498db',
        success: '#27ae60',
        warning: '#f39c12',
        danger: '#e74c3c',
        info: '#17a2b8',
        secondary: '#95a5a6'
    },
    animation: {
        duration: 300
    }
};

/**
 * 工具配置
 * 定义各个工具模块的基本信息
 */
const TOOLS_CONFIG = {
    geocoding: {
        id: 'geocoding',
        name: '地理编码转换',
        icon: '🌍',
        description: '支持Excel文件的地理编码批量转换',
        enabled: true
    },
    helloworld: {
        id: 'helloworld',
        name: '示例工具',
        icon: '👋',
        description: '演示模块，展示如何添加新的工具功能',
        enabled: true
    },
    dataviewer: {
        id: 'dataviewer',
        name: '数据浏览器',
        icon: '📊',
        description: '数据查看和分析工具',
        enabled: false
    },
    dataconvert: {
        id: 'dataconvert',
        name: '数据转换',
        icon: '🔄',
        description: '支持多种地理数据格式之间的转换',
        enabled: true
    },
    coordinate: {
        id: 'coordinate',
        name: '坐标转换',
        icon: '🔀',
        description: '各种坐标系统之间的转换',
        enabled: false
    },
    analysis: {
        id: 'analysis',
        name: '空间分析',
        icon: '📐',
        description: 'GIS空间分析工具',
        enabled: false
    }
};

module.exports = {
    APP_CONFIG,
    MAP_PLATFORMS,
    UI_CONFIG,
    TOOLS_CONFIG
};